Fault-tolerant systems provide communications service to mobile devices by switching serving network elements from a failed network element to a redundant network element. Typically, a network administrator assigns one redundant network element to be the preferred, or primary, network element for mobile devices to receive a network service while assigning another redundant network element to serve as the backup network element, that is, to serve the mobile devices only if the primary network element fails. In such systems, problems may arise regarding the timely switching over of mobile devices from the backup network element to the primary network element when the primary network element recovers.
For example, when the primary network element fails, then the mobile devices that were served by the primary network element switch over to the backup network element. Typically, such mobile devices then periodically retry the primary network element to see if it has recovered. When the primary network element does recover, some of the mobile devices that it had been serving may now be idle. Since each mobile device is independently retrying the primary network element, not all mobile devices will detect the recovery of the primary network element at the same time. Therefore, idle mobile devices will only gradually switch over to the primary network element, over a period of time that depends on the frequency of retrying connection with the primary network element. Meanwhile, other mobile devices that are actively using a service provided by the backup network element may not want to switch back to the primary network element. Hence, the result is that until all mobile devices switch back to the primary network element, some mobile devices may be on the backup network element and some mobile devices may be on the primary network element and these two populations of mobile devices may not be able to communicate with each other using the service provided by the primary and backup network elements, resulting in a corresponding service outage.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present invention. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. Those skilled in the art will further recognize that references to specific implementation embodiments such as “circuitry” may equally be accomplished via replacement with software instruction executions either on general purpose computing apparatus (e.g., CPU) or specialized processing apparatus (e.g., DSP). It will also be understood that the terms and expressions used herein have the ordinary technical meaning as is accorded to such terms and expressions by persons skilled in the technical field as set forth above except where different specific meanings have otherwise been set forth herein.